An annuity license is where the customer pays an annual fee, in return for which they are automatically entitled to any new version of the product that is released during the contract period. Typically, the license must be purchased before it can be placed under an annuity contract. At the end of the contact period, the customer may have the option to renew the annuity coverage for a further term. This renewal opportunity is usually restricted to a specified time period beyond the actual expiry date.
An example of an annuity license program is Software Assurance™, provided as one of Microsoft's™ volume license programs. Software Assurance has a term of 2 or 3 years. It must be purchased as an additional item to the actual license purchase, and this must be done at the time of the license purchase.
If a company purchases a copy of Office 2003 under a Microsoft volume license program, then at the time of purchase they have the option to also purchase Software Assurance for that license. If they do so, then when a subsequent version (such as Office 2005) is released, they automatically gain entitlement to use this new version. When the Software Assurance coverage expires, they can renew it without re-purchasing the license, and continue to gain entitlement to new versions. If the annuity coverage is not renewed within 90 days of expiry, then it lapses and becomes non-renewable.
If the company does not purchase Software Assurance at the time of the license purchase, then they cannot add it at a later time, and can only acquire entitlement to Office 2005 by purchasing a full new license.
There are some exceptions to this general position. For example, if the company purchases Office 2003 as a retail or OEM license (i.e. not under a volume license program), then they have 90 days to enrol this license in Software Assurance.
The cost of enrolling a license in Software Assurance is between 25% and 30% of the license cost, depending on the product.
Software vendors, such as Microsoft, favour annuity transactions because they provide a steady and predictable revenue stream. They are considered preferable to ad hoc purchases and upgrades which are unpredictable and vulnerable in the case of economic downturns as customers have the option of delaying the move to a later version.
However, there is a significant vulnerability at the time of renewal, particularly if customers feel they have not received value for their annuity contract. Because customers have a 90 day window in which to renew, the software vendor wants to be sure they do not slip out of the program, and also want to ensure they appreciate the value of renewing. Customers who do exit the program will do so owning the latest versions of their preferred products, so are unlikely to be candidates for new license purchases for some years.
The challenge for the vendor is to monitor customers coming up for renewal, provide them with informed advice, ensure they understand the benefits of renewing, and help them choose the best renewal program.
At present the only methods for assisting the vendor with this process are semi-manual routines which extract raw transaction data into spreadsheet format then use a combination of manipulation and filtering to produce customer lists and transaction lists pertaining to expiring annuity licenses. Typically, spreadsheet extracts are sent to customers with an accompanying letter, and followed up by a telephone call to discuss renewal options.
This semi-manual, spreadsheet-based approach has a number of disadvantages:                There is no underlying database structure to allow methodical targeting and management of the whole annuity customer population. The spreadsheet lists are standalone and difficult to coordinate.        Spreadsheet data is very vulnerable to accidental corruption.        The transaction data is of limited use in its raw form. It needs to be analysed and classified before reliable and useful conclusions can be drawn from it.        The raw data, even after spreadsheet manipulation, is not suitable for sending to customers as the basis for a subsequent call to discuss annuity renewals.        Annuity licenses have the potential to earn new versions of the licensed product. However, the raw data contains no record of new entitlements. The calculation of new entitlements requires an accurate and complete catalogue of product versions and their release dates, combined with an automated method for comparing annuity transaction data to this catalogue to infer any new versions earned.        
It is an object of the present invention to provide a method, system and software which assists the vendor in the renewal process and avoids the disadvantages of the prior art, or to at least provide a useful alternative.